package com.wing.cabinet.model.request;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.wing.cabinet.model.entity.Cabinet;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 刀柜Form
 *
 * @author
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class CabinetForm {

    /**
     * ID
     */
    private Long id;

    /**
     * 创建者
     */
    private Long creator;

    /**
     * 修改者
     */
    private Long modifier;

    /**
     * 创建人
     */
    private String creatorName;

    /**
     * 修改人
     */
    private String modifierName;

    /**
     * 编号
     */
    private String code;

    /**
     * 名称
     */
    private String name;

    /**
     * 入驻企业ID
     */
    private Long settledCompanyId;

    /**
     * 刀柜分类ID
     */
    private Long cabinetCategoryId;

    /**
     * 刀柜类型ID
     */
    private Long cabinetTypeId;

    /**
     * 刀柜型号ID
     */
    private Long cabinetModelId;

    /**
     * 刀柜品牌ID
     */
    private Long cabinetBrandId;

    /**
     * 主板类型ID
     */
    private Long motherboardTypeId;

    /**
     * 升降主板类型ID
     */
    private Long hostTypeId;

    /**
     * 数量
     */
    private Integer quantity;

    /**
     * 车间位置
     */
    private String workshopLocation;

    /**
     * 库位
     */
    private String seat;

    /**
     * 提交人
     */
    private String submitter;

    /**
     * 楼层
     */
    private String floor;

    /**
     * 刀柜SKU码
     */
    private String cabinetSku;


    /**
     * 状态
     */
    private Cabinet.CabinetNature cabinetNature;

    /**
     * 状态
     */
    private Cabinet.Status status;

    /**
     * 所属主柜编码
     */
    private String belongCabinet;

    /**
     * 刀柜自定义编码
     */
    private String customizeCabCode;

    /**
     * 刀柜状态
     */
    private Cabinet.CabStatus cabStatus;

    /**
     * 刀柜性质状态
     */
    private Cabinet.CabNatureType cabNatureType;


    /**
     * 序号
     */
    public Integer serialNumber;

    /**
     * 刀柜编码
     */
    private String cabCode;

    public interface Add{}

    public interface Update{}

    private String cabName;


    /**
     * 刀柜类型
     */
    private Cabinet.CabinetType cabinetType;

    private String settledCompanyName;

    /**
     * 企业编码
     */
    private String enterpriseCode;

    /**
     * 激活码
     */
    private String activationCode;
    /**
     * 车间id,sys_room_info表,房间类型为车间的房即为车间
     */
    private Long workshopId;
    /**
     * 备注
     */
    private String remark;

    /**
     * 设备编号
     */
    private String deviceNo;
}
